CREATE PROCEDURE dbo.sp_Exp_Atendidos_Juzgado

-- Parametros

@Fecha_Desde varchar(30) , 
@Fecha_Hasta varchar(30) , 
@Cuales varchar(20) 		-- 'Atendidos' , 'Nuevos' 

AS

DECLARE
@Fecha_Inicial datetime , 
@Fecha_Final datetime 

SET @Fecha_Inicial = CONVERT( DATETIME , @Fecha_Desde , 120 )
SET @Fecha_Final   = CONVERT( DATETIME , @Fecha_Hasta , 120 )

----------------------------------
-- PASO 1 : Datos Fuente        --
----------------------------------
-- creo una Tabla Temporal con las Notificaciones dentro del rango de fechas, para acelerar la consulta final
SELECT 	e.Juzgado /10000 AS Zona , 
	(e.Juzgado% 10000)/100 AS SubZona , 
	e.Juzgado , 
	j.Nombre AS Nombre_Juzgado ,
	n.Consecutivo , 
	n.Expediente , 
	e.Fecha_Ing_PGR  
INTO 	#Consulta 
FROM 	Exp_Fecha AS n 
	INNER JOIN Expediente AS e 
		ON n.Expediente = e.Expediente 
	INNER JOIN Juzgados AS j 
		ON e.juzgado = j.Juzgado 
WHERE 	DATEPART( yyyy , n.Fecha_PGR ) * 1000 + DATEPART( dy , n.Fecha_PGR ) BETWEEN 
		DATEPART( yyyy, @Fecha_Inicial ) * 1000 + DATEPART( dy, @Fecha_Inicial ) AND
		DATEPART( yyyy, @Fecha_Final )   * 1000 + DATEPART( dy, @Fecha_Final ) 
	AND e.Tipo_Expediente NOT IN ( 3 , 4 )	-- No-PGR y Pendiente de Traslado
	AND LEFT( n.Resolucion , 5 ) <> '00:00'
ORDER BY e.Juzgado


---------------------------------------
-- PASO 2 : Seleccion de Datos       --
---------------------------------------
IF @Cuales = 'Atendidos'
	SELECT 	Zona ,
		SubZona ,
		Juzgado ,
		Nombre_Juzgado , 
		COUNT( Consecutivo ) AS Notificaciones_Ingresadas ,
		COUNT( DISTINCT( Expediente ) ) AS Expedientes_Atendidos 
	FROM 	#Consulta 
	GROUP BY Zona , 
		SubZona , 
		Juzgado , 
		Nombre_Juzgado 
ELSE	-- 'Nuevos'
	SELECT 	Zona ,
		SubZona ,
		Juzgado ,
		Nombre_Juzgado , 
		COUNT( Consecutivo ) AS Notificaciones_Ingresadas ,
		COUNT( DISTINCT( Expediente ) ) AS Expedientes_Atendidos 
	FROM 	#Consulta 
	WHERE 	YEAR ( Fecha_Ing_PGR ) >= YEAR( @Fecha_Inicial )
	GROUP BY Zona , 
		SubZona , 
		Juzgado , 
		Nombre_Juzgado 
